package com.yxhl.zoume.data.http.rest.repositoryimpl;

import com.yxhl.protobuf.BizOrderRequest;
import com.yxhl.protobuf.BizOrderResponse;
import com.yxhl.zoume.data.http.repository.car.SpecialCarRepository;
import com.yxhl.zoume.data.http.rest.param.specialcar.CancelOrderParam;
import com.yxhl.zoume.data.http.rest.param.specialcar.SpecialCarCashPayParam;
import com.yxhl.zoume.data.http.rest.param.specialcar.SpecialCarPayInfoParam;
import com.yxhl.zoume.data.http.rest.param.specialcar.SpecialCarPollingParam;
import com.yxhl.zoume.data.http.rest.param.specialcar.SpecialCarQueryParam;
import com.yxhl.zoume.data.http.rest.repositoryimpl.base.BaseDataRepository;
import com.yxhl.zoume.data.http.rest.response.specialcar.CancelOrderResponse;
import com.yxhl.zoume.data.http.rest.response.specialcar.SpecialCarCashPayResponse;
import com.yxhl.zoume.data.http.rest.response.specialcar.SpecialCarPayInfoResponse;
import com.yxhl.zoume.data.http.rest.response.specialcar.SpecialCarPollingResponse;
import com.yxhl.zoume.data.http.rest.response.specialcar.SpecialCarPriceQueryResponse;

import javax.inject.Inject;

import rx.Observable;

/**
 * Created by sugarya on 16/4/9.
 */
public class SpecialCarDataRepository extends BaseDataRepository implements SpecialCarRepository {

    @Inject
    public SpecialCarDataRepository() {
    }

    @Override
    public Observable<SpecialCarPriceQueryResponse> querySpecialCarPrice(SpecialCarQueryParam specialCarQueryParam) {
        return mZouMeService.querySpecialCarPrice(specialCarQueryParam);
    }

    @Override
    public Observable<BizOrderResponse> getSpecialCarOrder(BizOrderRequest bizOrderRequest) {
        return mZouMeService.getSpecialCarOrder(bizOrderRequest);
    }

    @Override
    public Observable<SpecialCarPollingResponse> querySpecialCarPollingResult(SpecialCarPollingParam specialCarPollingParam) {
        return mZouMeService.querySpecialCarRollingResult(specialCarPollingParam);
    }

    @Override
    public Observable<CancelOrderResponse> cancelSpecialCarOrder(CancelOrderParam cancelOrderParam) {
        return mZouMeService.cancelOrder(cancelOrderParam);
    }


    @Override
    public Observable<BizOrderResponse> queryUnFinishSpecialCarOrder(BizOrderRequest request) {
        return mZouMeService.queryLastUnFinishOrder(request);
    }

    @Override
    public Observable<SpecialCarCashPayResponse> specialCarPayByCash(SpecialCarCashPayParam param) {
        return mZouMeService.specialCarPayByCash(param);
    }

    @Override
    public Observable<SpecialCarPayInfoResponse> fetchSpecialCarPayInfo(SpecialCarPayInfoParam param) {
        return mZouMeService.fetchSpecialCarPayInfo(param);
    }
}
